#include <bits/stdc++.h>
using namespace std;
int n, m;
int ans = 0;
bool b[305][305]; // b[i][j]表示i是否比j大,确定大为1，不确定为0
int main() {
  cin >> n >> m;
  for (int i = 1; i <= m; i++) {
    int x, y;
    cin >> x >> y;
    // 确定x大于y
    b[x][y] = 1;
  }
  for (int k = 1; k <= n; k++) {
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= n; j++) {
        // 如果i比k大，且k比j大，则可以确定i比j大
        b[i][j] = b[i][j] || (b[i][k] && b[k][j]);
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    int cnt = 0;
    // 对于第i个数，统计有多少能确定跟它的关系
    for (int j = 1; j <= n; j++) {
      cnt += b[i][j] + b[j][i]; // 统计比第i个数大的和小的学生数量
    }
    // 如果能确定关系的是n-1个数，则第i个数可已确定位置
    if (cnt == n - 1) {
      ans++; // 该学生的排名是确定的
    }
  }
  cout << ans << endl; // 输出确定排名的学生数量
  return 0;
}